//
//  HYBaseTableViewController.swift
//  weibo-01
//
//  Created by 源 何 on 16/9/23.
//  Copyright © 2016年 何源. All rights reserved.
//

import UIKit

/*
 协议的代理和使用   完成了多继承
 1.定义协议
 2.遵守协议,指定代理
 3.实现协议方法
 */


/*
 多继承
 OC有多继承吗? 没有 通过协议来代替
 必选的协议方法  必须要实现
 */

class HYBaseTableViewController: UITableViewController, HYVisitorLoginViewDelegate {

    var userLogin = HYUserAccountViewModel.sharedAccountViewModel.userLogin
    
    lazy var visitorView: HYVisitorLoginView = HYVisitorLoginView ()
    
    //自定义根视图
    override func loadView() {
        if userLogin {
            //tableView 创建tableView
            super.loadView()
        } else {
            //提示 用户登录 显示访客视图
            //自定义根视图
//            let visitorView = HYVisitorLoginView ()
            //根视图的frame 会在 viewWilllayoutsubViews方法中重新设置
            view = visitorView
            //设置代理对象
            visitorView.delegate = self
        }
    }
    
    //实现代理协议
    func userWillLogin() {
//        print("用户将要登录")
//        print("--------------------------分割线--------------------------")
        let oauth = HYOauthViewController()
        //使用 push 还是 modal 人机交互 push 执行线性操作使用push 如果打断线性操作就使用modal(模态)
        let nav = UINavigationController(rootViewController: oauth)
        present(nav, animated: true, completion: nil)
    }
    
    func userWillRegisiter() {
        print("用户将要注册")
        print("--------------------------分割线--------------------------")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
}
